﻿/************************************************************************
** 文  件：
**	EventRecordInfo.h
** 功  能：
**	报警信息实体类
** 作  者：
**	email:lixx2048@163.com
**  wechat:lixiang6153
**  QQ:941415509
** 日  期：
**	2024/03/15	14:00:00
** 说  明：
**	无
** 版  本：
**	2024/03/15	14:00:00		1.0		lixx2048@163.com
/************************************************************************/
#pragma once
#include <string>
#include <memory>
#include "../util/DateTime.h"

class EventRecordInfo
{
public:
	EventRecordInfo();
	virtual ~EventRecordInfo();

public:
	std::string GetId();
	void SetId(std::string);

	std::string GetDeviceId();
	void SetDeviceId(std::string);

	std::string GetDeviceName();
	void SetDeviceName(std::string);

	std::string GetEventId();
	void SetEventId(std::string);

	int GetEventType();
	void SetEventType(int);

	int GetImage();
	void SetImage(int);

	DateTime GetStartTime();
	void SetStartTime(DateTime&);

	DateTime GetStopTime();
	void SetStopTime(DateTime&);

	std::string GetName();
	void SetName(std::string);

	int GetSize();
	void SetSize(int);

	int GetDuration();
	void SetDuration(int);

	std::string GetPath();
	void SetPath(std::string);

	std::string GetUrl();
	void SetUrl(std::string);

	DateTime GetCreateTime();
	void SetCreateTime(DateTime);

	int GetUpload();
	void SetUpload(int);

	DateTime GetUploadTime();
	void SetUploadTime(DateTime&);

protected:
	// 记录编码
	std::string m_id = "";
	// 设备编码
	std::string m_deviceId = "";
	// 设备名称
	std::string m_deviceName = "";
	// 事件编码
	std::string m_eventId = "";
	// 事件类型
	int m_eventType = 0;
	// 是否图片
	int m_image = 0;
	// 开始时间
	DateTime m_startTime = DateTime::Now();
	// 结束时间
	DateTime m_stopTime = DateTime::Now();
	// 文件名称
	std::string m_name = "";
	// 文件大小
	int m_size = 0;
	// 录像时长
	int m_duration = 0;
	// 文件路径
	std::string m_path = "";
	// 文件地址
	std::string m_url = "";
	// 创建时间
	DateTime m_createTime = DateTime::Now();
	// 上传状态
	int m_upload = 0;
	// 上传时间
	DateTime m_uploadTime = DateTime::Now();
};

typedef std::shared_ptr<EventRecordInfo> EventRecordInfoPtr;